CRONO SDK 1.0.1
Crono device data retrieval functions.

Functions

CRONO_Return CRONO_StartAcquisition (CRONO_H crono, uint64_t acqMaxFrames, int integPeriodFrames)
 
CRONO_Return CRONO_StopAcquisition (CRONO_H crono, cronoBool force)
 
CRONO_Return CRONO_GetAcquisitionStatus (CRONO_H crono, CRONO_AcquisitionStatus *status)
 
CRONO_Return CRONO_GetAcquisitionInfo (CRONO_H crono, CRONO_AcquisitionInfo *acqInfo)
 
CRONO_Return CRONO_GetFramesData (CRONO_H crono, uint32_t *buf, uint64_t capacityNumFrames, uint64_t *copiedNumFrames)
 
CRONO_Return CRONO_GetTimeTagsData (CRONO_H crono, uint64_t *dataBuf, uint64_t capacity, uint64_t *copiedLen)
 
CRONO_Return CRONO_GetHistogramData (CRONO_H crono, uint32_t *buf, uint64_t capacityNumHists, uint64_t *copiedNumHists)
 
CRONO_Return CRONO_GetLiveData (CRONO_H crono, uint32_t *countsBuf, uint32_t *histogramBuf, cronoBool *dataIsNew)
 

Detailed Description

Functions used to start and stop acquisition and to retrieve data during and after a data acquisition.

Different functions provide access to the acquired data in different data formats. When the acquisition is started several processes are created, to download, decode and optionally saves data. Depending on the acquisition settings, several buffers are also created, which are then filled by the SDK. Data from these buffers need to be read by the user application at a sufficiently high rate. If data is not read by the user fast enough, SDK buffers will grow up to a fixed level, upon which download will stall and internal camera 1GB buffer in turn starts to fill. When also camera buffer gets full the acquisition fails. Current status of buffer and ongoing acquisition can be retrieved using CRONO_GetAcquisitionStatus() function.

Function Documentation

◆ CRONO_GetAcquisitionInfo()

CRONO_Return CRONO_GetAcquisitionInfo ( CRONO_H  crono,
CRONO_AcquisitionInfo acqInfo 
)

Gets informations about the last acquisition.

Parameters
cronoHandle to an existing Crono object.
acqInfoDedicated struct containing information about the last acquisition.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_GetAcquisitionStatus()

CRONO_Return CRONO_GetAcquisitionStatus ( CRONO_H  crono,
CRONO_AcquisitionStatus status 
)

Gets the current acquisition status.

Parameters
cronoHandle to an existing Crono object.
statusStatus of the current acquisition. Refer to the CRONO_AcquisitionStatus definition for details about the various struct fields.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_GetFramesData()

CRONO_Return CRONO_GetFramesData ( CRONO_H  crono,
uint32_t *  buf,
uint64_t  capacityNumFrames,
uint64_t *  copiedNumFrames 
)

Gets an acquisition data chuck in frames format.

In counting mode, frames contains the counts per pixel accumulated over integPeriodFrames as set in CRONO_StartAcquisition(). In timing mode, always timing data from individual frames are reported. Data will be retrieved from the internal SDK buffer and copied up to the capacity indicated by the user with the capacityNumFrames parameter, or until the internal buffer is empty.

Parameters
cronoHandle to an existing Crono object.
bufPointer to user-allocated contiguous uint32 data buffer.
capacityNumFramesCapacity of user-allocated buffer expressed as number of frames. The expected buffer length is capacityNumFrames times the number of active pixels.
copiedNumFramesPointer to a uint64_t that will contain the actual number of frames copied into buf. The value pointed by copiedNumFrames is always less than or equal to capacityNumFrames.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_GetHistogramData()

CRONO_Return CRONO_GetHistogramData ( CRONO_H  crono,
uint32_t *  buf,
uint64_t  capacityNumHists,
uint64_t *  copiedNumHists 
)

Gets an acquisition data chuck in histogram format.

Histograms are accumulated over integPeriodFrames as set in CRONO_StartAcquisition(). Data will be retrieved from the internal SDK buffer and copied up to the capacity indicated by the user with the capacityNumHists parameter, or until the internal buffer is empty.

Parameters
cronoHandle to an existing Crono object.
bufPointer to user-allocated contiguous uint32 data buffer.
capacityNumHistsCapacity of user-allocated buffer expressed as a number of histograms. The expected buffer length is capacityNumHists times the number of active pixels times 4096.
copiedNumHistsPointer to a uint64_t that will contain the actual number of histograms copied into buf. The returned value is always less than or equal to capacityNumHists.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_GetLiveData()

CRONO_Return CRONO_GetLiveData ( CRONO_H  crono,
uint32_t *  countsBuf,
uint32_t *  histogramBuf,
cronoBool dataIsNew 
)

Gets latest live data whenever available.

Histogram is meaningfull only in timing mode. Counts and histogram data are accumulated over integPeriodFrames as set in CRONO_StartAcquisition().

Parameters
cronoHandle to an existing Crono object.
countsBufPointer to user-allocated contiguous uint32 buffer for live counts. The number of allocated elements must be equal or greater than the number of active pixels.
histogramBufPointer to user-allocated contiguous uint32 buffer for live tdc histogram. The number of allocated elements must be equal or greater than the number of active pixels multiplied by 4096.
dataIsNewPointer to boolean value indicating whether newly available live data has been written to countsBuf and histogramBuf
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_GetTimeTagsData()

CRONO_Return CRONO_GetTimeTagsData ( CRONO_H  crono,
uint64_t *  dataBuf,
uint64_t  capacity,
uint64_t *  copiedLen 
)

Gets an acquisition data chuck in time tags format.

Data will be retrieved from the internal SDK buffer and copied up to the capacity indicated by the user with the capacity parameter, or until the internal buffer is empty.

Parameters
cronoHandle to an existing Crono object.
dataBufPointer to user-allocated contiguous uint64 data buffer.
capacityCapacity of user-allocated buffer expressed as number of uint64_t values.
copiedLenPointer to a uint64_t that will contain the actual number of data copied into buf. The value pointed by copiedLen is always less than or equal to capacity.
Returns
CRONO_Return

◆ CRONO_StartAcquisition()

CRONO_Return CRONO_StartAcquisition ( CRONO_H  crono,
uint64_t  acqMaxFrames,
int  integPeriodFrames 
)

Starts a new acquisition.

Parameters
cronoHandle to an existing Crono object.
acqMaxFramesDesired number of frames in the acquisition. Set this parameter to zero to start an indefinitely long acquisition.
integPeriodFramesHistograms, live counts and counting mode data are accumulated over integPeriodFrames frames. This parameter also affects the live data refresh rate. Any positive value larger than 0 is accepted, however, when not in PureLive mode, a value > 100 may be necessary to allow continous acquisition depending on PC performance and camera configuration.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_StopAcquisition()

CRONO_Return CRONO_StopAcquisition ( CRONO_H  crono,
cronoBool  force 
)

Stops an ongoing acquisition.

Parameters
cronoHandle to an existing Crono object.
forceIf false, this function will block until the desired number of frames is acquired. If true, forcibly stops the ongoing acquisition.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.